/**
 * 素材类型的枚举值
 */
export enum attachmentTypeEnum {
    image = 1,
    local_image = 1,
    video = 2,
    local_video = 2,
    link = 3,
    local_link = 3
}

/**
 * 素材列表项
 */
export interface IAttachmentItem {
    /** 素材的链接 */
    url?: string;
    /**
     * 素材类型
     * image: 图片
     * video：视频
     * link：链接
     * local_image: 本地上传图片
     * local_video: 本地上传视频
     * local_link: 本地创建链接
     */
    type: 'image' | 'video' | 'link' | 'local_image' | 'local_video' | 'local_link';
    /** 图片链接 */
    image?: {
        /** 素材id */
        content_id: number;
        url?: string;
    };
    /** 本地上传的图片 */
    local_image?: {
        code: string;
        url?: string;
    };
    /** 视频链接 */
    video?: {
        /** 素材id */
        content_id: number;
        url?: string;
    };
    /** 本地上传的视频 */
    local_video?: {
        code: string;
        url?: string;
    };
    /** 链接 */
    link?: {
        content_id: number;
        /** 链接标题 */
        link_title: string;
        /** 链接地址 */
        link_url: string;
        /** 链接描述 */
        link_decs: string;
        /** 封面链接地址 */
        link_image_url: string;
    };
    /** 本地上传的链接 */
    local_link?: {
        /** 链接标题 */
        link_title: string;
        /** 链接地址 */
        link_url: string;
        /** 链接描述 */
        link_decs: string;
        /** 封面链接地址 */
        link_image_url: string;
        /** 封面链接地址上传的code码 */
        code: string;
    };
    /** 排序字段 */
    sort: number;
}
/** 朋友圈内容 */
export interface IAttachmentContent {
    /** 朋友圈内容文本, 不超过1000个字 */
    content: string;
    /** 朋友圈素材附件 */
    attachment: Array<IAttachmentItem>;
}

/**
 * 列表的每一项
 */
export interface IQWFrientTableData {
    /** 发表状态 */
    publish_status: number;
    /** 任务id */
    id: number;
    /** 任务名称 */
    title: string;
    /**
     * 内容来源 1-朋友圈素材库 2-手动输入
     */
    ref_type: 1 | 2;
    /** 朋友圈素材id */
    media_moment_id: number;
    /** 素材内容 */
    moment_content: IAttachmentContent;
    /** 未下发人数 */
    work_user_not_send_num: number;
    /** 已下发人数 */
    work_user_send_num: number;
    /**
     * 任务状态1待下发 2已下发 3已结束
     */
    sync_wx_status: 1 | 2 | 3;
    /**
     * 任务状态名 待下发 已下发 已结束
     */
    sync_wx_status_name: '待下发' | '已下发' | '已结束';
    /** 下发时间 */
    sync_wx_time: string;
    /** 创建人 */
    created_name: string;
    /** 创建时间 */
    created_at: string;
    /** 结束时间 */
    close_time: string;
}
/**
 * 列表接口返回
 */
export type ISearchList = Array<IQWFrientTableData>;
/**
 * 表格行数据
 */
export interface ITableRow {
    row: IQWFrientTableData;
}

/**
 * 表格操作的方法
 */
export interface IOperateHandle {
    /**
     * 详情
     * @param row 当前行数据
     */
    detail: (row: IQWFrientTableData) => void;
    /**
     * 编辑
     * @param row 当前行数据
     */
    edit: (row: IQWFrientTableData) => void;
    /**
     * 统计
     * @param row 当前行数据
     */
    stat: (row: IQWFrientTableData) => void;
    /**
     * 复制
     * @param row 当前行数据
     */
    copy: (row: IQWFrientTableData) => void;
    /**
     * 删除
     * @param row 当前行数据
     */
    delete: (row: IQWFrientTableData) => void;
    /**
     * 结束
     * @param row 当前行数据
     */
    end: (row: IQWFrientTableData) => void;
    /**
     * 一键提醒
     * @param row 当前行数据
     */
    remind: (row: IQWFrientTableData) => void;
}

/**
 * 朋友圈详情页参数
 */
export interface IDetailFriendParams {
    /** 当前朋友圈id */
    id?: number;
    /** 任务名称 */
    title: string;
    /** 发表成员员工ids */
    work_user_ids: Array<any>;
    /** 发表成员类型 1 全部员工 2指定员工  */
    work_user_search: 1 | 2;
    /** 目标客户类型 1 全部企微客户 2 指定标签 */
    customer_search: 1 | 2;
    /** 目标客户标签ids */
    customer_tag_ids: Array<any>;
    /** 朋友圈内容类型 1-朋友圈素材库 2-手动输入 */
    ref_type: 1 | 2;
    /** 朋友圈素材库id，如果没有的话就是0 */
    media_moment_id: number;
    /** 素材类型 1图片 2视频 3链接 */
    local_content_type: 1 | 2 | 3;
    /** 素材内容 */
    moment_content: IAttachmentContent;
    /** 前端会用来展示朋友圈素材的附件内容, 调接口前把字段名会替换成moment_content */
    media_moment_content: IAttachmentContent;
    /** 群下发时间类型 1-立刻发送 2-指定时间发送 */
    sync_wx_type: 1 | 2;
    /** 下发时间 */
    sync_wx_time?: string;
    /**
     * 任务状态1待下发 2已下发 3已结束
     */
    sync_wx_status?: 1 | 2 | 3;
    /**
     * 任务状态名 待下发 已下发 已结束
     */
    sync_wx_status_name?: '待下发' | '已下发' | '已结束';
    /** 结束时间 */
    close_time: string;
}
